home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Apple II Magazines (DO)
/
Micro on the Apple Volume 2 (1981)(Micro Ink).zip
/
Micro on the Apple Volume 2 (1981)(Micro Ink).do
/
AMPERSORT DEMO.bas
< prev
next >
Wrap
BASIC Source File
|
1996-12-24
|
3KB
|
95 lines
10 REM ************************
20 REM * *
30 REM * AMPER-SORT *
40 REM * ALLEN HILL *
45 REM * *
50 REM * AMPERSORT DEMO *
55 REM * *
60 REM * COPYRIGHT (C) 1981 *
70 REM * MICRO INK, INC. *
80 REM * CHELMSFORD, MA 01824 *
90 REM * ALL RIGHTS RESERVED *
100 REM * *
110 REM ************************
1000 GOTO 10000
1050 REM CHARACTER SORT
1060 CH$ = "ABCDWXYZ":L = LEN(CH$) -1
1070 N% = 8
1080 DIM AB$(N%)
1090 FOR I = 0 TO N%
1100 C$ = MID$ (CH$, INT( RND(1) *L) +1,1)
1110 B$ = MID$ (CH$, INT( RND(1) *L) +1,1)
1120 FOR J = 1 TO 3
1130 C$ = C$ +C$:B$ = B$ +B$
1140 NEXT J
1150 AB$(I) = B$ +C$
1160 NEXT I
1170 GOSUB 1240
1180 REM SORT HALF ASCENDING
1190 REM SORT HALF DESCENDING
1200 & SRT#(AB$,0,N%,1,8,A,9,16,D)
1210 GOSUB 1260
1220 GOTO 11000
1230 REM PRINT ROUTINE
1240 PRINT " BEFORE"
1250 GOTO 1270
1260 PRINT " AFTER": PRINT "ASCEND DESCEND"
1270 FOR I = 0 TO N%
1280 PRINT AB$(I): NEXT I: RETURN
2000 REM INTEGER SORT
2010 N% = 8
2020 DIM IN%(N%)
2030 FOR I = 0 TO N%
2040 IN%(I) = 7500 - INT( RND(1) *15000)
2050 NEXT I
2060 GOSUB 2120
2070 REM SORT
2080 & SRT#(IN%,0,N%)
2090 GOSUB 2130
2100 GOTO 11000
2110 REM PRINT ROUTINE
2120 HTAB 10: PRINT "BEFORE": GOTO 2140
2130 HTAB 10: PRINT "AFTER"
2140 FOR I = 0 TO N%
2150 PRINT IN%(I): NEXT I: RETURN
3000 REM FLOATING POINT
3010 T% = 8
3020 DIM FP(T%)
3030 FOR I = 0 TO 8
3040 FP(I) = 1000 * RND(1) * SIN(I *7.16)
3050 NEXT I
3060 GOSUB 3120
3070 REM SORT
3080 & SRT#(FP,0,T%)
3090 GOSUB 3130
3100 GOTO 11000
3110 REM PRINT ROUTINE
3120 HTAB 10: PRINT "BEFORE": GOTO 3140
3130 HTAB 10: PRINT "AFTER"
3140 FOR I = 0 TO T%
3150 PRINT FP(I): NEXT I: RETURN
9999 REM
10000 REM ** &SORT DEMO **
10010 REM SAVE ROOM FOR
10020 REM SORT ROUTINE
10030 HIMEM: 20992: REM $5200
10040 D$ = CHR$(4)
10050 PRINT D$;"BLOAD AMPERSORT,A$5200"
10060 REM SET UP '&' HOOK
10070 REM AT $3F5:JMP $5200
10080 POKE 1013,76: POKE 1014,0: POKE 1015,82
10090 HOME : CLEAR
10100 VTAB 8: HTAB 15: PRINT "SORT DEMO"
10110 PRINT : HTAB 15: PRINT "SELECTIONS"
10120 PRINT : HTAB 10: PRINT "1 INTEGER SORT"
10130 HTAB 10: PRINT "2 FLOATING POINT SORT"
10140 HTAB 10: PRINT "3 CHARACTER SORT"
10150 HTAB 10: PRINT "4 EXIT"
10160 VTAB 17: INPUT "SELECTION ";SE%
10170 IF SE% <0 OR SE% >4 THEN 10090
10180 ON SE% GOTO 2000,3000,1050,10190
10190 END
11000 PRINT "HIT ANY KEY TO RETURN TO MENU"
11010 WAIT -16384,128
11020 POKE -16368,0
11030 GOTO 10090